= run usage

....
./run [OPTIONS] [-- EXTRA_RUN_ARGS]
....

[options="header"]
|===
|Name |Argument name |Description
|`-a` |`ARCH`        |Run architecture `ARCH`.
|`-c` |`NCPUS`       |Emulate `NCPUS` guest CPUs.
|`-D` |              |Run GDB on the emulator itself.
|`-d` |              |Wait for GDB to connect before starting execution.
|`-E` |`CMDSTR`      |Replace the normal init with a minimal init that just evals
                      with given `CMDSTR` bash command string. Example:
                      `-E 'insmod /hello.ko;'`
|`-e` |`CLI_OPTIONS` |Pass an extra Linux kernel command line options,
                      and place them before the dash separator `-`.
                      Only options that come before the `-`, i.e. "standard"
                      options, should be passed with this option.
                      Example: `./run -a arm -e 'init=/poweroff.out'`
|`-F` |`CMDSTR`      |Much like `-f`, but base64 encods the string.
                      Mnemonic: `-F` is to `-f` what `-E` is to `-e`.
|`-f` |`CLI_OPTIONS` |Pass an extra Linux kernel command line options,
                      add a dash `-` separator, and place the options after the dash.
                      Intended for custom options understood by our `init` scripts,
                      most of which are prefixed by `lkmc_`, e.g.:
                      `./run -f 'lkmc_eval="wget google.com" lkmc_lala=y'`
                      Mnenomic: comes after `-e`.
|`-G` |              |Pass extra options to the gem5 executable.
                      Do not confuse with the arguments passed to config scripts,
                      like `fs.py`. Example: `./run -G '--debug-flags=Exec --debug' -g`
|`-g` |              |Use gem5 instead of QEMU.
|`-h` |              |Show this help message.
|`-I` |              |Run with initramfs.
|`-i` |              |Run with initrd.
|`-K` |              |Use KVM. Only works if guest arch == host arch.
|`-k` |              |Enable KGDB.
|`-m` |              |Set the memory size of the guest. E.g.: `-m 512M`. Default: `256M`.
                      The default is the minimum amount that boots all archs without extra
                      options added. Anything lower will lead some arch to fail to boot.
                      Any
|`-T` |              |Enable extra QEMU trace events.
                      `./configure --enable-trace-backends=simple` seems to enable
                      some by default, e.g. `pr_manager_run`, and I don't know how to
                      get rid of them. But those events are rare and should not impact
                      performance, so we just ignore them for now.
|`-U` |              |Pass extra parameters to the program running on the `-u` tmux split.
|`-u` |              |Create a tmUx split the window.
                      You must already be inside of a `tmux` session to use this option.
                      * on the main window, run the emulator as usual
                      * on the split:
                      ** if on QEMU and `-d` is given, GDB
                      ** if on gem5, the gem5 terminal
|`-V` |              |Run QEMU with VNC instead of the default SDL.
                      Connect to it with: `vinagre localhost:5900`.
|`-x` |              |Run in graphic mode. Mnemonic: X11.
|===
